/**
 * @projectName 高校就业网
 * @package com.kzj.CollegeEmploymentNetwork.model
 * @className com.kzj.CollegeEmploymentNetwork.model.Article
 * @copyright Copyright 2025 Thunisoft, Inc. All rights reserved.
 */
package com.kzj.CollegeEmploymentNetwork.model;

import javax.persistence.Column;
import javax.persistence.Table;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.SuperBuilder;
import com.kzj.CollegeEmploymentNetwork.common.BaseEntity;
import javax.validation.constraints.Size;
import com.kzj.CollegeEmploymentNetwork.validate.Validate;
import com.thunisoft.artery.data.annotation.CodeType;


/**
 * Article
 *
 * @description 文章表实体
 * @author kzj
 * @date 2025年01月20日 23:11:54
 * @version 1.0.0
 **/
@ApiModel("文章表")
@Table(name="db_recruit.t_article")    
@Getter
@Setter
@ToString
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class Article extends BaseEntity{
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    
    /**
     * 外键：用户
     */
    @ApiModelProperty("外键：用户")
    @Column(name = "c_bh_user", columnDefinition = "varchar(32)")
    @Size(max = 32, groups = {Validate.class}, message = "外键：用户的最大长度为32")
    private String bhUser;

    /**
     * 文章标题
     */
    @ApiModelProperty("文章标题")
    @Column(name = "c_title", columnDefinition = "varchar(32)")
    @Size(max = 32, groups = {Validate.class}, message = "文章标题的最大长度为32")
    private String title;

    /**
     * 文章内容url
     */
    @ApiModelProperty("文章内容url")
    @Column(name = "c_content_url", columnDefinition = "varchar(300)")
    @Size(max = 300, groups = {Validate.class}, message = "文章内容url的最大长度为300")
    private String contentUrl;

    /**
     * 点赞数
     */
    @ApiModelProperty("点赞数")
    @Column(name = "n_like_count")
    private Integer likeCount;

    /**
     * 收藏数
     */
    @ApiModelProperty("收藏数")
    @Column(name = "n_collect_count")
    private Integer collectCount;

    /**
     * 评论数
     */
    @ApiModelProperty("评论数")
    @Column(name = "n_comment_count")
    private Integer commentCount;

    /**
     * 文章类型
     */
    @ApiModelProperty("文章类型")
    @Column(name = "n_type")
    @CodeType("cy_023")
    private Integer type;

    /**
     * 封面图片url(;分割)
     */
    @ApiModelProperty("封面图片url(;分割)")
    @Column(name = "c_cover_picture", columnDefinition = "varchar(300)")
    @Size(max = 300, groups = {Validate.class}, message = "封面图片url(;分割)的最大长度为300")
    private String coverPicture;

}